This relates generally to graphics processing and, particularly, to rasterization.
Rasterization pipelines work on blocks of fragments with an implicitly encoded position. For example, the rasterizer may work on 2×2 blocks of fragments. A number of tests are then performed based on the rasterization of triangles. In some cases, these tests may determine that further processing is no longer needed. Examples of such tests are depth tests, alpha tests, shading tests, etc.
In some cases, single instruction multiple data (SIMD) utilization is sacrificed because some fragments in a SIMD register may be discarded due to tests while other fragments persist and require subsequent processing in said SIMD register. Any subsequent computations on the SIMD register data will include discarded fragments, resulting in sub-optimal efficiency.